package com.entfrm.system.controller;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.entfrm.base.api.R;
import com.entfrm.system.entity.BiHbtz;
import com.entfrm.system.service.BiHbtzService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author entfrm
 * @date 2020-04-23 18:15:10
 * @description 应用Controller
 */
@RestController
@AllArgsConstructor
@RequestMapping("/wl")
public class WlController {

    private final BiHbtzService biHbtzService;
    private QueryWrapper<BiHbtz> getQueryWrapper(BiHbtz biHbtz) {
        return new QueryWrapper<BiHbtz>()
                .like(StrUtil.isNotBlank(biHbtz.getCarNumber()), "car_number", biHbtz.getCarNumber())
                .like(StrUtil.isNotBlank(biHbtz.getInMaterial()), "in_material", biHbtz.getInMaterial())
                .eq(StrUtil.isNotBlank(biHbtz.getEmissionNumber()), "emission_name", biHbtz.getEmissionNumber())
//                .gt(StrUtil.isNotBlank(biHbtz.getInTime()),"in_time",biHbtz.getInTime())
//                .gt(StrUtil.isNotBlank(biHbtz.getOutTime()),"out_time",biHbtz.getOutTime())
                .between(StrUtil.isNotBlank(biHbtz.getInTime()),"in_time",biHbtz.getInTime(),biHbtz.getInTime()+" 23:59:59")
                .between(StrUtil.isNotBlank(biHbtz.getOutTime()),"out_time",biHbtz.getOutTime(),biHbtz.getOutTime()+" 23:59:59")
                .orderByDesc("create_time");
    }


    @GetMapping("/hbtzList")
    public R list(Page page, BiHbtz biHbtz) {
        IPage<BiHbtz> biHbtzPage = biHbtzService.page(page, getQueryWrapper(biHbtz));
        return R.ok(biHbtzPage.getRecords(), biHbtzPage.getTotal());
    }

}
